#ifndef VSTWOPARAMANIMBLEND_H
#define VSTWOPARAMANIMBLEND_H
#include "VSAnimBlendFunction.h"
namespace VSEngine2
{
	class VSStream;
	class VSGRAPHIC_API VSTwoParamAnimBlend : public VSAnimBlendFunction
	{
		//RTTI
		DECLARE_RTTI;

	public:
		virtual ~VSTwoParamAnimBlend() = 0;

		VSTwoParamAnimBlend(const VSUsedName & ShowName,VSAnimTree * pAnimTree);
	protected:
		VSREAL m_fParam[2];
		VSREAL m_fParamMax[2];
		VSREAL m_fParamMin[2];

		VSTwoParamAnimBlend();
		virtual bool ComputePara(double dAppTime);
		virtual bool ComputeOutBoneMatrix(double dAppTime) = 0;
	public:
		
		virtual unsigned int DiskUse()const;

		virtual bool Save(VSStream & rStream,unsigned int &iSaveUse)const;
		virtual bool Load(VSStream & rStream,unsigned int &iSaveUse);
	public:
		virtual bool Clone(const VSObject *pObject,unsigned int uiType);

	};
	typedef VSPointer<VSTwoParamAnimBlend> VSTwoParamAnimBlendPtr;
}
#endif